package com.xiaoshuidi.cloud.module.finance.controller.admin.invoice.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;

import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.util.List;

@Schema(description = "开票 Request VO")
@EqualsAndHashCode
@Data
public class AppInvoiceIssueReqVO {
    @Schema(description = "账单id")
    @NotNull(message = "账单id不能为空")
    private String orderId;
    @Schema(description = "开票账单明细id")
    @NotNull(message = "账单费用明细id不能为空")
    @Size(min = 1, message = "账单费用明细id不能为空")
    private String feeDetailIds;
    @Schema(description = "发票抬头")
    @NotNull(message = "发票抬头不能为空")
    private String title;
    @Schema(description = "纳税人识别号")
    @NotNull(message = "纳税人识别号不能为空")
    private String taxpayerId;
    @Size(max = 200, message = "公司地址不能超过200")
    private String companyAddress;
    /**
     * 公司电话
     */
    private String companyTel;
    @Size(max = 100, message = "开户行不能超过100")
    private String bank;
    /**
     * 开户行账号
     */
    private String bankAccount;
    /**
     * 发票类型：0-增值税电子普通发票,1-增值税电子专用发票
     */
    private String invoiceType;
    /**
     * 客户邮箱
     */
    private String email;
    /**
     * 客户手机号
     */
    private String mobile;
    /**
     * 发票类型 个人 0 | 企业1
     */
    private String custType;
}
